#region Using Statements
using System;
using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
#endregion

namespace KLib.Utilities
{
    public class Math
    {
        #region Fields

        #endregion

        #region Properties

        #endregion

        #region Initialization

        public Math()
        {

        }

        #endregion

        #region Methods
        public static Vector2 Cross(float value2, Vector2 value1)
        {
            return new Vector2(-value2 * value1.Y, value2 * value1.X);
        }

        public static void Cross(ref Vector2 value1, ref float value2, out Vector2 returnVal)
        {
            returnVal = value1; //For 360
            returnVal.X = -value2 * value1.Y;
            returnVal.Y = value2 * value1.X;
        }

        public static Vector2 RotateAroundPoint(Vector2 point, Vector2 origin, float radians)
        {
            Vector2 difference = point - origin;
            Vector2 rotatedVect = Vector2.Transform(difference, Matrix.CreateRotationZ(radians));

            return rotatedVect + origin;
        }
        #endregion

        #region Helper Methods

        #endregion
    }
}
